home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 22
/
Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso
/
Aminet
/
game
/
role
/
alan.lha
/
alan.prod
< prev
next >
Wrap
Text File
|
1997-01-08
|
19KB
|
614 lines
1. <adventure> = <optional_options> <units> <start>
;
2. <optional_options> =
3. ! 'OPTIONS' <options>
;
4. <options> = <option>
5. ! <options> <option>
;
6. <option> = ID '.'
7. ! ID ID '.'
8. ! ID INTEGER '.'
;
9. <units> = <unit>
10. ! <units> <unit>
;
11. <unit> = <default>
12. ! <object_default>
13. ! <location_default>
14. ! <actor_default>
15. ! <messages>
16. ! <rule>
17. ! <synonyms>
18. ! <syntax>
19. ! <verb>
20. ! <location>
21. ! <object>
22. ! <container>
23. ! <actor>
24. ! <event>
;
25. <default> = 'DEFAULT' 'ATTRIBUTES' <attributes>
;
26. <location_default> = 'LOCATION' 'ATTRIBUTES' <attributes>
;
27. <object_default> = 'OBJECT' 'ATTRIBUTES' <attributes>
;
28. <actor_default> = 'ACTOR' 'ATTRIBUTES' <attributes>
;
29. <attributes> = <attribute> '.'
30. ! <attributes> <attribute> '.'
;
31. <attribute> = ID
32. ! 'NOT' ID
33. ! ID <optional_minus> INTEGER
34. ! ID STRING
;
35. <synonyms> = 'SYNONYMS' <synonym_list>
;
36. <synonym_list> = <synonym>
37. ! <synonym_list> <synonym>
;
38. <synonym> = <id_list> '=' ID '.'
;
39. <messages> = 'MESSAGE' <message_list>
;
40. <message_list> = <message>
41. ! <message_list> <message>
;
42. <message> = ID ':' <statements>
;
43. <syntax> = 'SYNTAX' <syntax_list>
;
44. <syntax_list> = <syntax_item>
45. ! <syntax_list> <syntax_item>
;
46. <syntax_item> = ID '=' <syntax_elements> <optional_class_restrictions>
;
47. <syntax_elements> = <syntax_element>
48. ! <syntax_elements> <syntax_element>
;
49. <syntax_element> = ID
50. ! '(' ID ')' <optional_indicators>
;
51. <optional_indicators> =
52. ! <optional_indicators> <indicator>
;
53. <indicator> = '*'
54. ! '!'
;
55. <optional_class_restrictions> = '.'
56. ! 'WHERE' <class_restrictions>
;
57. <class_restrictions> = <class_restriction>
58. ! <class_restrictions> 'AND' <class_restriction>
;
59. <class_restriction> = ID 'ISA' <classes> 'ELSE' <statements>
;
60. <classes> = <class_identifier>
61. ! <classes> 'OR' <class_identifier>
;
62. <class_identifier> = 'OBJECT'
63. ! 'ACTOR'
64. ! 'CONTAINER'
65. ! 'INTEGER'
66. ! 'STRING'
67. ! 'CONTAINER' 'OBJECT'
68. ! 'CONTAINER' 'ACTOR'
;
69. <optional_verbs> =
70. ! <optional_verbs> <verb>
;
71. <verb> = <verb_header> <verb_body> <verb_tail>
;
72. <verb_header> = 'VERB' <id_list>
;
73. <verb_body> = <simple_verb_body>
74. ! <verb_alternatives>
;
75. <verb_alternatives> = <verb_alternative>
76. ! <verb_alternatives> <verb_alternative>
;
77. <verb_alternative> = 'WHEN' ID <simple_verb_body>
;
78. <simple_verb_body> = <optional_checks> <optional_does>
;
79. <verb_tail> = 'END' 'VERB' <optional_id> '.'
;
80. <optional_checks> =
81. ! 'CHECK' <statements>
82. ! 'CHECK' <check_list>
;
83. <check_list> = <check>
84. ! <check_list> 'AND' <check>
;
85. <check> = <expression> 'ELSE' <statements>
;
86. <optional_does> =
87. ! 'DOES' <optional_qual> <statements>
;
88. <location> = <location_header> <location_body> <location_tail>
;
89. <location_header> = 'LOCATION' ID <optional_name>
;
90. <location_body> = <optional_attributes> <optional_description>
<optional_does> <optional_exits> <optional_verbs>
;
91. <location_tail> = 'END' 'LOCATION' <optional_id> '.'
;
92. <optional_exits> =
93. ! <optional_exits> <exit>
;
94. <exit> = 'EXIT' <id_list> 'TO' ID <optional_exit_body> '.'
;
95. <optional_exit_body> =
96. ! <optional_checks> <optional_does> 'END' 'EXIT'
<optional_id>
;
97. <object> = <object_header> <object_body> <object_tail>
;
98. <object_header> = 'OBJECT' ID <optional_where> <optional_names>
<optional_where>
;
99. <object_tail> = 'END' 'OBJECT' <optional_id> '.'
;
100. <object_body> = <optional_properties> <optional_attributes>
<optional_descriptions> <optional_verbs>
;
101. <optional_attributes> =
102. ! <optional_attributes> <is> <attributes>
;
103. <is> = 'IS'
104. ! 'ARE'
105. ! 'HAS'
;
106. <optional_descriptions> =
107. ! <optional_descriptions>
<article_or_mentioned_or_description>
;
108. <article_or_mentioned_or_description> = <article>
109. ! <description>
110. ! <mentioned>
;
111. <optional_description> =
112. ! <description>
;
113. <description> = 'DESCRIPTION'
114. ! 'DESCRIPTION' <statements>
;
115. <article> = 'ARTICLE'
116. ! 'ARTICLE' <statements>
;
117. <mentioned> = 'MENTIONED' <statements>
;
118. <optional_name> =
119. ! <name>
;
120. <optional_names> =
121. ! <optional_names> <name>
;
122. <name> = 'NAME' <ids>
;
123. <optional_properties> =
124. ! 'CONTAINER' <container_body>
;
125. <container> = <container_header> <container_body> <container_tail>
;
126. <container_header> = 'CONTAINER' ID
;
127. <container_body> = <optional_limits> <optional_header> <optional_empty>
;
128. <container_tail> = 'END' 'CONTAINER' <optional_id> '.'
;
129. <optional_limits> =
130. ! 'LIMITS' <limits>
;
131. <limits> = <limit>
132. ! <limits> <limit>
;
133. <limit> = <limit_attribute> 'THEN' <statements>
;
134. <limit_attribute> = <attribute>
135. ! 'COUNT' INTEGER
;
136. <optional_header> =
137. ! 'HEADER' <statements>
;
138. <optional_empty> =
139. ! 'ELSE' <statements>
;
140. <event> = <event_header> <statements> <event_tail>
;
141. <event_header> = 'EVENT' ID
;
142. <event_tail> = 'END' 'EVENT' <optional_id> '.'
;
143. <actor> = <actor_header> <actor_body> <actor_tail>
;
144. <actor_header> = 'ACTOR' ID <optional_where> <optional_names>
<optional_where>
;
145. <actor_body> = <optional_properties> <optional_attributes>
<optional_description> <optional_verbs>
<optional_actor_script>
;
146. <actor_tail> = 'END' 'ACTOR' <optional_id> '.'
;
147. <optional_actor_script> =
148. ! <optional_actor_script> <script>
;
149. <script> = 'SCRIPT' <integer_or_id> '.' <optional_description>
<step_list>
;
150. <step_list> = <step>
151. ! <step_list> <step>
;
152. <step> = 'STEP' <statements>
153. ! 'STEP' 'AFTER' INTEGER <statements>
154. ! 'STEP' 'WAIT' 'UNTIL' <expression> <statements>
;
155. <rule> = 'WHEN' <expression> '=>' <statements>
;
156. <start> = 'START' <where> '.' <optional_statements>
;
157. <optional_statements> =
158. ! <statements>
;
159. <statements> = <statement>
160. ! <statements> <statement>
;
161. <statement> = <output_statement>
162. ! <special_statement>
163. ! <manipulation_statement>
164. ! <event_statement>
165. ! <assignment_statement>
166. ! <actor_statement>
167. ! <if_statement>
;
168. <output_statement> = STRING
169. ! 'DESCRIBE' <what> '.'
170. ! 'SAY' <expression> '.'
171. ! 'LIST' <what> '.'
;
172. <special_statement> = 'QUIT' '.'
173. ! 'LOOK' '.'
174. ! 'SAVE' '.'
175. ! 'RESTORE' '.'
176. ! 'RESTART' '.'
177. ! 'SCORE' <optional_integer> '.'
178. ! 'VISITS' INTEGER '.'
179. ! 'SYSTEM' STRING '.'
;
180. <manipulation_statement> = 'EMPTY' <what> <optional_where> '.'
181. ! 'LOCATE' <what> <where> '.'
;
182. <event_statement> = 'CANCEL' ID '.'
183. ! 'SCHEDULE' ID <optional_where> 'AFTER' INTEGER '.'
;
184. <assignment_statement> = 'MAKE' <what> <something> '.'
185. ! 'INCREASE' <attribute_reference>
<optional_by_clause> '.'
186. ! 'DECREASE' <attribute_reference>
<optional_by_clause> '.'
187. ! 'SET' <attribute_reference> 'TO' <expression>
'.'
;
188. <optional_by_clause> =
189. ! 'BY' <expression>
;
190. <if_statement> = 'IF' <expression> 'THEN' <statements>
<optional_elsif_list> <optional_else_part> 'END' 'IF'
'.'
;
191. <optional_elsif_list> =
192. ! <elsif_list>
;
193. <elsif_list> = 'ELSIF' <expression> 'THEN' <statements>
194. ! <elsif_list> 'ELSIF' <expression> 'THEN' <statements>
;
195. <optional_else_part> =
196. ! 'ELSE' <statements>
;
197. <actor_statement> = 'USE' 'SCRIPT' <integer_or_id> <optional_for_actor>
'.'
;
198. <optional_for_actor> =
199. ! 'FOR' ID
;
200. <expression> = <term>
201. ! <expression> 'OR' <term>
;
202. <term> = <factor>
203. ! <term> 'AND' <factor>
;
204. <factor> = <primary>
205. ! <primary> <optional_not> <where>
206. ! <primary> <binop> <primary>
207. ! <primary> <optional_not> <relop> <primary>
208. ! <primary> <is> <something>
;
209. <primary> = <optional_minus> INTEGER
210. ! STRING
211. ! <what>
212. ! 'SCORE'
213. ! <aggregate> <where>
214. ! '(' <expression> ')'
215. ! <attribute_reference>
216. ! 'RANDOM' INTEGER 'TO' INTEGER
;
217. <aggregate> = 'COUNT'
218. ! 'SUM' 'OF' ID
219. ! 'MAX' 'OF' ID
;
220. <something> = <optional_not> ID
;
221. <what> = 'OBJECT'
222. ! 'LOCATION'
223. ! 'ACTOR'
224. ! ID
;
225. <optional_where> =
226. ! <where>
;
227. <where> = 'HERE'
228. ! 'NEARBY'
229. ! 'AT' <what>
230. ! 'IN' <what>
;
231. <binop> = '+'
232. ! '-'
233. ! '*'
234. ! '/'
;
235. <relop> = '<>'
236. ! '='
237. ! '=='
238. ! '>='
239. ! '<='
240. ! '>'
241. ! '<'
;
242. <optional_qual> =
243. ! 'BEFORE'
244. ! 'AFTER'
245. ! 'ONLY'
;
246. <optional_not> =
247. ! 'NOT'
;
248. <optional_id> =
249. ! ID
;
250. <ids> = ID
251. ! <ids> ID
;
252. <id_list> = ID
253. ! <id_list> ',' ID
;
254. <optional_integer> =
255. ! INTEGER
;
256. <optional_minus> =
257. ! '-'
;
258. <attribute_reference> = ID 'OF' <what>
;
259. <integer_or_id> = INTEGER
260. ! ID
;
261. ID = IDENT
262. ! 'DEFAULT'
263. ! 'ARTICLE'
264. ! 'MESSAGE'
265. ! 'QUIT'
266. ! 'SAVE'
267. ! 'RESTORE'
268. ! 'RESTART'
269. ! 'WAIT'
;
******* Shift-Reduce conflict in state 106 Symbol: 'DEFAULT' Production: 25
Resolved by modification (Reduce: 25)
******* Shift-Reduce conflict in state 106 Symbol: 'MESSAGE' Production: 25
Resolved by modification (Reduce: 25)
******* Shift-Reduce conflict in state 114 Symbol: 'DEFAULT' Production: 27
Resolved by modification (Reduce: 27)
******* Shift-Reduce conflict in state 114 Symbol: 'MESSAGE' Production: 27
Resolved by modification (Reduce: 27)
******* Shift-Reduce conflict in state 115 Symbol: 'HERE' Production: 225
Resolved by modification (Shift: 'HERE')
******* Shift-Reduce conflict in state 115 Symbol: 'NEARBY' Production: 225
Resolved by modification (Shift: 'NEARBY')
******* Shift-Reduce conflict in state 115 Symbol: 'AT' Production: 225
Resolved by modification (Shift: 'AT')
******* Shift-Reduce conflict in state 115 Symbol: 'IN' Production: 225
Resolved by modification (Shift: 'IN')
******* Shift-Reduce conflict in state 119 Symbol: 'ARTICLE' Production: 122
Resolved by modification (Reduce: 122)
******* Shift-Reduce conflict in state 122 Symbol: 'DEFAULT' Production: 26
Resolved by modification (Reduce: 26)
******* Shift-Reduce conflict in state 122 Symbol: 'MESSAGE' Production: 26
Resolved by modification (Reduce: 26)
******* Shift-Reduce conflict in state 126 Symbol: 'DEFAULT' Production: 28
Resolved by modification (Reduce: 28)
******* Shift-Reduce conflict in state 126 Symbol: 'MESSAGE' Production: 28
Resolved by modification (Reduce: 28)
******* Shift-Reduce conflict in state 127 Symbol: 'HERE' Production: 225
Resolved by modification (Shift: 'HERE')
******* Shift-Reduce conflict in state 127 Symbol: 'NEARBY' Production: 225
Resolved by modification (Shift: 'NEARBY')
******* Shift-Reduce conflict in state 127 Symbol: 'AT' Production: 225
Resolved by modification (Shift: 'AT')
******* Shift-Reduce conflict in state 127 Symbol: 'IN' Production: 225
Resolved by modification (Shift: 'IN')
******* Shift-Reduce conflict in state 131 Symbol: 'DEFAULT' Production: 39
Resolved by modification (Reduce: 39)
******* Shift-Reduce conflict in state 131 Symbol: 'MESSAGE' Production: 39
Resolved by modification (Reduce: 39)
******* Shift-Reduce conflict in state 134 Symbol: 'QUIT' Production: 42
Resolved by modification (Shift: 'QUIT')
******* Shift-Reduce conflict in state 134 Symbol: 'SAVE' Production: 42
Resolved by modification (Shift: 'SAVE')
******* Shift-Reduce conflict in state 134 Symbol: 'RESTORE' Production: 42
Resolved by modification (Shift: 'RESTORE')
******* Shift-Reduce conflict in state 134 Symbol: 'RESTART' Production: 42
Resolved by modification (Shift: 'RESTART')
******* Shift-Reduce conflict in state 140 Symbol: 'DEFAULT' Production: 35
Resolved by modification (Reduce: 35)
******* Shift-Reduce conflict in state 140 Symbol: 'MESSAGE' Production: 35
Resolved by modification (Reduce: 35)
******* Shift-Reduce conflict in state 146 Symbol: 'DEFAULT' Production: 43
Resolved by modification (Reduce: 43)
******* Shift-Reduce conflict in state 146 Symbol: 'MESSAGE' Production: 43
Resolved by modification (Reduce: 43)
******* Shift-Reduce conflict in state 157 Symbol: 'QUIT' Production: 59
Resolved by modification (Shift: 'QUIT')
******* Shift-Reduce conflict in state 157 Symbol: 'SAVE' Production: 59
Resolved by modification (Shift: 'SAVE')
******* Shift-Reduce conflict in state 157 Symbol: 'RESTORE' Production: 59
Resolved by modification (Shift: 'RESTORE')
******* Shift-Reduce conflict in state 157 Symbol: 'RESTART' Production: 59
Resolved by modification (Shift: 'RESTART')
******* Shift-Reduce conflict in state 211 Symbol: 'ARTICLE' Production: 102
Resolved by modification (Reduce: 102)
******* Shift-Reduce conflict in state 235 Symbol: 'ARTICLE' Production: 130
Resolved by modification (Reduce: 130)
******* Shift-Reduce conflict in state 238 Symbol: 'QUIT' Production: 133
Resolved by modification (Shift: 'QUIT')
******* Shift-Reduce conflict in state 238 Symbol: 'SAVE' Production: 133
Resolved by modification (Shift: 'SAVE')
******* Shift-Reduce conflict in state 238 Symbol: 'RESTORE' Production: 133
Resolved by modification (Shift: 'RESTORE')
******* Shift-Reduce conflict in state 238 Symbol: 'RESTART' Production: 133
Resolved by modification (Shift: 'RESTART')
******* Shift-Reduce conflict in state 277 Symbol: 'DEFAULT' Production: 3
Resolved by modification (Reduce: 3)
******* Shift-Reduce conflict in state 277 Symbol: 'MESSAGE' Production: 3
Resolved by modification (Reduce: 3)